iT邦幫忙

第 12 屆 iThome 鐵人賽

0

記錄學習內容。看網路上大大們的文章和影片,做些紀錄。

相簿
https://ithelp.ithome.com.tw/articles/10235043

相簿2
https://ithelp.ithome.com.tw/articles/10235430

1 點擊格狀圖片後,到下一個畫面

在格狀圖片 的 View 裡面 寫onTapGesture 和NavigaionLink

2 直的3格圖片 ,橫的6格圖片:

SwiftUI Repaint View Components on Device Rotation
https://stackoverflow.com/questions/57441654/swiftui-repaint-view-components-on-device-rotation

參考最後一位大大的解答 : 當畫面旋轉時,判斷是直的還是橫的。

一 新增檔案OrientationInfo.swift。

Landscape = true 代表是橫的 。
Landscape = false 代表是直的 。

// OrientationInfo.swift
final class OrientationInfo: ObservableObject {
    @Published var isLandscape = false
}

二 在SceneDelegate.swift 修改

    window.rootViewController = UIHostingController(rootView:contentView)

改成

            window.rootViewController = UIHostingController(rootView: contentView.environmentObject(orientationInfo))

和新增這一段

func windowScene(_ windowScene: UIWindowScene, didUpdate previousCoordinateSpace: UICoordinateSpace, interfaceOrientation previousInterfaceOrientation: UIInterfaceOrientation, traitCollection previousTraitCollection: UITraitCollection) {
    orientationInfo.isLandscape = windowScene.interfaceOrientation.isLandscape
}

三 在ContentView.swift 新增

@EnvironmentObject var orientationInfo: OrientationInfo
var body: some View {
    Group {
        if orientationInfo.isLandscape {
            Text("LANDSCAPE") //橫的
        } else {
            Text("PORTRAIT") //直的
        }
    }
}

但是Group 的 if 裡面只能放畫面相關的 ,不能寫print(“LANDSCAPE”)之類的

    Group {
        if orientationInfo.isLandscape {
            Text("LANDSCAPE") //橫的
            // 想要寫  orientation = "LANDSCAPE"  之類的 ,可是不行
            // 正在想辦法 達成 orientation = "LANDSCAPE" 的效果,目前失敗
        } else {
            Text("PORTRAIT") //直的
        }
    }

3 不只圖片在格子裡,想在新增一些文字疊在格子上:

使用ZStack

4 按鈕

按鈕可以這樣寫:

Button(action:{
 Print(“test?”)
}){
 Text(“123”)
}

也可以這樣寫:

Button(“123”){
Print(“test?”)
}

5 圖片滑動到下一張圖片

這部教學很棒。
SwiftUI UIPageViewController - UIViewControllerRepresentable with Page View Controller in SwiftUI
https://www.youtube.com/watch?v=hr_B03mabYo&ab_channel=maxcodes


上一篇
MIPS組語練習
系列文
iOS學習資源與筆記28
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言